上位机开发笔记 » 搜索 » user:admin post:true

wsock.udp的使用

第二种方法: 利用线程来循环接收数据, udpServer.recvfrom(1024);这个函数里面用了多次自调用,所以可以认为是阻塞式接收吧, 当有接收到数据,才能执行后面的代码

import win.ui; /*DSG{{*/ var winform = win.form(text="aardio form";right=759;bottom=469) winform.add() /*}}*/ import console import wsock.udp.client; console.open(
admin •  2018-03-21 • 最后回复来自 admin
1

wsock.udp的使用

udp和串口类似,这个利用网络协议.

发送暂且不说, 接收可以采用两种办法:

1,采用asynClient异步客户端 , 这样可以在界面线程中通过消息来操作

import win.ui; /*DSG{{*/ var winform = win.form(text="aardio form";right=759;bottom=469) winform.add() /*}}*/ import console //异步客户端 import wsock.udp.asynClient
admin •  2018-03-21 • 最后回复来自 admin
1

halcon写微信跳一跳辅助

在前面版本的基础上增加了参数外部可调功能:

ios系统手机要想和PC机相连来截图,需要用到airplayer Pro软件,安装之后可以根据获取到的句柄截图,然后进行操作.

import win.ui; /*DSG{{*/ mainForm = win.form(text="跳一跳视觉
halcon admin •  2018-03-18 • 最后回复来自 admin
14

halcon写微信跳一跳辅助

实测发现上述代码还是有一点不足,如果图像中有一个类似汉堡店的图形,那么小人的定位就不准,导致跳板定位也不准,于是,重新更改了小人的获取方式

图像进行缩放阈值处理之后,

halcon代码如下:

read_image (Img2506, 'C:/Users/Administrator/Desktop/t1ttest/halcon_T1T/res/tt/IMG_2506.PNG') rgb1_to_gray (Img2506, GrayImage) scale_image (GrayImag
halcon admin •  2018-03-17 • 最后回复来自 admin
14

halcon写微信跳一跳辅助

另外一个思路:

观察发现跳一跳的图形都是从小人脚部开始向左或者向右成30度角形成的跳板,而且跳板的中心就是这个跳板最顶部的点的正下方, 于是,我们可以以小人脚部点30度画一条斜线, 跳板的最高顶部点画一条垂直线, 两条线相交的地方就是跳板中心点.

通过简单的三角计算,就可以得到落脚点的中心坐标了.

于是只要找到了小人的脚部坐标和跳板的最高处坐标, 就可以进行操作了.

import win.ui; /*DSG{{*/ mainForm = win.form(text="Hal
halcon admin •  2018-03-16 • 最后回复来自 admin
14

局部控件全屏展示(非窗体全屏,而是任意一个控件全屏)

以上代码实现了双击主界面中的custom来让custom全屏的功能:

但是,如果custom.loadForm()之后,在按照上面的方法就行不通了.因为这时候回调函数

w

admin •  2018-03-11 • 最后回复来自 admin
1

如何让Button按钮实现[单击]和[长按]功能

很多时候为了用户操作方便,需要在窗口功能中实现 长按功能 ,并且也不能失去这个按钮的单击功能, 那么

一般应该是这样判断, 当按钮被按下的同时, 开启一个定时器(例如300毫秒), 然后判断在这段时间内是否松开了鼠标, 如果没有松开就判断它为长按, 否则为普通的单击事件


由此考虑: 有两种办法

1,开启一个1毫秒定时器 , 在定时器里获取鼠标左键状态 , 如果发现在不到300毫秒的间隔之内松开了鼠标,那么判定为单击, 超过300毫秒仍然处于按下状态则判断为长按!

2,利用多线程操作, 按下的同时开启一个线程

aardio admin •  2018-03-10 • 最后回复来自 admin
1

menu菜单选中状态设置

import win.ui; /*DSG{{*/ var winform = win.form(text="单选菜单演示";right=565;bottom=443) winform.add() /*}}*/ import win.ui.menu; var menuRadio = win.ui.popmenu(winform);     menuRadio.onMenuItemClick = function(id){         menuRadio.selId = id;         select(menuR
admin •  2018-03-07 • 最后回复来自 admin
2

menu菜单选中状态设置

一鹤先生新增的menu菜单单选功能:


添加selIdex,selId,selText等用于获取、设置单选项的属性, 并增加 onMenuItemClick事件用于一次性设置所有菜单项默认回调事件import win.ui; /*DSG{{*/ var winform = win.form(text="aardio form";right=759;bottom=469) winform.add() /*}}*/ import win.ui.menu; var menuRadio = win.ui.popmenu(winform
admin •  2018-03-07 • 最后回复来自 admin
2

menu菜单选中状态设置

mainForm.XZpopmenu = win.ui.popmenu(mainForm);//创建弹出菜单 mainForm.XZpopmenu.add('850',function(id){ //在下面输入菜单响应代码 mainForm.XZpopmenu.check(1,!mainForm.XZpop
admin •  2018-03-06 • 最后回复来自 admin
2

局部控件全屏展示(非窗体全屏,而是任意一个控件全屏)

import win.ui; /*DSG{{*/ var winform = win.form(text="aardio form";right=759;bottom=469) winform.add( custom={cls="custom";text="custom";left=103;top=63;right=657;bottom=374;bgcolor=8421376;z=1} ) /*}}*/ winform.custom.wndproc = function(hwnd,message,wParam,lPar
admin •  2018-03-05 • 最后回复来自 admin
1

htmlayout内嵌普通窗体控件

换成自定义控件,loadForm就可以了

谢谢,daheian

htmlayout admin •  2018-03-04 • 最后回复来自 xxsir
4

(转)halcon识别奶茶包装上的激光打码日期

识别之后:

dev_update_off(
admin •  2018-03-01

窗体之间的通信,与模态窗体的通信的两种方式

以上这种方式有它的好处和弊端:

好处: 一对多, 凡是运行了的程序中有这个接收

subscribe()

的都会同一时间接收到消息.

admin •  2018-02-27 • 最后回复来自 admin
1

客户流程系统设计

listview中滚动条显示到指定项:

admin •  2018-02-27 • 最后回复来自 admin
8

aar调用网站语音合成

做了个界面:

发现貌似文本过长的话,有时候就会转换失败导致播放不了....

解决办法: 可以利用标点符号进行分隔, 然后将分隔的字串按照顺序一个个转换,这个播放的时候转换下一个,..依次进行知道结束...

import win.ui; /*DSG{{*/ mainForm = win.form(text="aardio form";right=553;bottom=334) mainForm.add( button={cls="button";text="语音合成";left=393;
admin •  2018-02-26 • 最后回复来自 smallwater
2

aar调用网站语音合成

在aar的官方论坛看到有人问怎么调用网站那个语音合成?

网站是 peiyinge.com/make/

admin •  2018-02-25 • 最后回复来自 smallwater
2

跳一跳中从skeleton骨架里拟合椭圆

另外一种写法:

这种适应性差,只为学习用

将图片进行灰度之后,阈值缩放加深对比色,然后利用灰度方块统一色调,整个画面图形就全是黑色了,然后找边缘...这里就又问题了.边缘有些顺序不一致.....

//     var ret,Image1, Image2, Image3 = halconc.decompose3 (gameImage, 0,0,0);     var ret,ROI_0 = halconc.gen_rectangle1 (0, 218.498, 2.83828, 122
halcon admin •  2018-02-25 • 最后回复来自 admin
2

halcon一些算子实验

自动阈值处理的使用:

halcon admin •  2018-02-25 • 最后回复来自 admin
1
登 录
信息栏
 私人小站

本站域名

ChengXu.XYZ

投诉联系:  popdes@126.com



快速上位机开发学习,本站主要记录了学习过程中遇到的问题和解决办法及上位机代码分享

这里主要专注于学习交流和经验分享.
纯私人站,当笔记本用的,学到哪写到哪.
如果侵权,联系 Popdes@126.com

友情链接
Aardio官方
Aardio资源网


才仁机械


网站地图SiteMap